The application relates to systems and methods for reading encoded information subject to random errors and transient errors.
Various error correction encoding techniques typically are used in digital communication systems (e.g., a system for reading information from a storage medium, such as an optical disk) to increase the rate at which information may be transferred to and from the storage medium and to reduce the rate at which errors occur. Many error correction techniques involve the use of an error correction code (e.g., a Reed Solomon code with 8 bit data symbols) to encode the information and to pad the information with redundancy (or check) symbols which are used to correct improperly read data symbols. Errors (data symbols with incorrect values and unknown locations) and erasures (data symbols with unreliable values but known locations) are identified and corrected by an error correction code (ECC) decoder. The ECC decoder may correctly decode a block of data when the error-correction capacity of the code is greater than the sum of twice the number of errors and the number of erasures. Typically, an additional cross-check code is used to detect when the ECC decoder has failed to properly decode a data block. If the cross-check passes, the corrected data symbols are transmitted back to the host computer. If the ECC fails, however, the data block must be reread, increasing the time required to access the data on the storage medium. The ECC decoder may correct twice as many erasures as errors; thus, the ECC decoder failure rate may be reduced by erasing data symbols that are corrupted, e.g., by a transient error. Ideally, the ECC decoder should erase corrupted data symbols without producing too many false erasures (data symbols with correct values that have been erased).
The process of reading digital information stored on a storage medium introduces into the resulting data signal random noise and transient errors (e.g., errors due to sources other than the random noise sources assumed by the data detector). Signals produced in the read channels of magnetic recording systems (e.g., magnetic disk drives) that use magnetoresistive (MR) heads are subject to thermally-induced transient errors (e.g., thermal asperities). A thermal asperity (TA) may be induced when a MR head collides with contamination or some other raised feature on the surface of a magnetic storage disk. The collision causes the temperature, and consequently the resistance, of the MR element to increase. The change in resistance produces a voltage transient at the output of the MR element. The magnitude of the transient may be large relative to the magnitude of the data signal, and the duration of the transient may be long relative to the bit-time. As a result, thermal asperities may introduce a large number of errors into the read channel. In fact, the number of errors may be too large for the ECC decoder to correct. The inability to efficiently handle transient errors, such as thermal asperities, decreases the overall performance and reliability of the system.
Transient error detectors have been used to detect the beginning and end (or midpoint) of a transient error and to label consecutive symbols in a data signal as erasures. On a tape drive, e.g., a drop-out detector may be used to detect the beginning of a drop-out when the envelope of a data signal amplitude drops below a threshold and to detect the end of a drop out when the data signal envelope recovers. (See, e.g., xe2x80x9cComparative Performance Between Drop-Out Detection and Viterbi Reliability Metric Erasure Flagging,xe2x80x9d William Ryan, Ampex Corp., Intermag ""92 Conference Digest, GA-Apr. 5, 1992.) In a magnetic disk drive with MR heads, a thermal asperity detector may define the beginning of a TA when the magnitude of the low-pass-filtered signal exceeds a threshold and may define the midpoint of the TA when the low-pass-filtered signal first crosses zero after the identified beginning of the TA.
In a sampled data detection system subject only to random errors (not transient errors), a different erasure labeling system has been proposed. In this system, a detector produces erasures whenever data samples are too close to a decision boundary. For each data symbol, a reliability metric usually is computed based upon the minimum decision margin (i.e., the distance between the data sample and the decision boundary is the decision margin) for a decision affecting the bits in that data symbol. When there is zero margin, the data symbol has an error probability of one-half; as the decision margin increases, the error probability decreases. In one approach, data is detected using a soft-output Viterbi detector and the decision margin (a Viterbi difference metric in this approach) at a particular time corresponds to the magnitude of the difference between the path metric for the best path and the path metric for the path that was rejected when it re-merged with the best path at that time. (See, e.g., xe2x80x9cA Viterbi Algorithm with Soft-Decision Outputs and Its Applications,xe2x80x9d J. Hagenauer and P. Hoeher, Proc. Of IEEE GLOBECOME ""89 Conference, Dallas, Tex., November 1989, pp. 1680-1686.)
The invention relates to a scheme for recovering encoded data from a data signal representing one or more data symbols and subject to random errors and transient errors. The invention features a system that includes a transient error detector, a reliability detector, an erasure flagger, and a decoder. The transient error detector is coupled to receive the data signal and is configured to identify one or more characteristics (e.g., a starting location and a midpoint location) of a transient error (e.g., a TA) in the data signal. The reliability detector is configured to compute a reliability metric for each data symbol. The erasure flagger identifies erasures based upon signals received from the transient error detector and the reliability detector. The decoder is configured to treat a data symbol as an erasure or as a valid data symbol based upon the output of the erasure flagger.
In another aspect, the invention features a magnetic disk storage system that includes, in addition to the features of the above-described system, at least one magnetic storage disk, and at least one magnetoresistive (MR) head configured to extract an encoded data signal from at least one magnetic storage disk.
Embodiments may include one or more of the following features.
In one embodiment, a first erasure period beginning at the start of the data block and ending at an identified transient error starting location is defined, a second erasure period beginning at the end of the first erasure period and ending a preselected number of data symbols after an identified midpoint location is defined, and a third erasure period beginning at the end of the second erasure period is defined. The third erasure period may end when a second transient error is detected. Each data symbol within the first erasure period may be labeled as a valid data symbol; each data symbol within the second erasure period may be labeled as an erasure; and each data symbol within the third erasure period may be labeled as an erasure or as a valid data symbol based upon a comparison of the computed reliability metric against the minimum reliability threshold. Alternatively, each data symbol within the first erasure period may be labeled as an erasure or as a valid data symbol based upon a comparison of a first computed reliability metric against a first minimum reliability threshold, and each data symbol within the second erasure period may be labeled as an erasure or as a valid data symbol based upon a comparison of a second computed reliability metric (which is different from the first reliability metric) against a second minimum reliability threshold. Similarly, the third erasure period may use a third reliability metric and corresponding threshold. The third computed reliability metric may differ from the first and second reliability metrics. For example, the first reliability metric may be computed based upon an additive white Gaussian noise model, and the second or third reliability metric may be computed based upon the same noise model but with a different mean and variance.
The erasure flagger may label one or more data symbols as erasures by OR-ing together erasure information generated by both the transient error detector and the reliability detector.
The computed reliability metric may be based upon a Viterbi difference metric. A data symbol may be labeled as an erasure when the computed Viterbi difference metric is less than the minimum reliability threshold for any time associated with the data symbol. Alternatively, the computed reliability metric may be the increase in a Viterbi path metric along the best path over the data symbol (e.g., the Viterbi path metric for the best path ending at a time coincident with the end of the data symbol minus the Viterbi path metric for the best path ending at a time coincident with the start of the data symbol). A data symbol may be labeled as an erasure when the Viterbi path metric exceeds the minimum reliability threshold.
Among the advantages of the invention are the following. The invention reduces the impact of transient errors, such as thermal asperities, on ECC failure rate by using all the information from the transient detector and the reliability detector. By improving the ability of the system to correctly identify erasures in a data signal subject to transient errors, the invention enables the decoder to correct a greater number of errors in the data signal.
Other features and advantages will become apparent from the following description, including the drawings and the claims.